package com.qc.qcg807;



import com.qc.qcgl807.Bus;
import com.qc.qcgl807.Car;
import com.qc.qcgl807.QiChe;
  //汽车管理类（简单工厂）
public class QiGuan {
     //建车库  先导汽车类包
	 public  QiChe [] qiche = new QiChe [8];
	
	//方法         放车 
	public void into(){
	  qiche[0] = new Car("宝马","京N1111",800,"X6");    //父类对象指向子类  QiChe qiche = new Car();
	  qiche[1] = new Car("宝马","京N2222",600,"550i");    //父类对象指向子类  QiChe qiche = new Car();
	  qiche[2] = new Car("别克","京N3333",300,"林荫大道");    //父类对象指向子类  QiChe qiche = new Car();
	  qiche[3] = new Car("别克","京N5555",600,"GL8");    //父类对象指向子类  QiChe qiche = new Car();
	  qiche[4] = new Bus("金杯","京N6666",800,16);    //父类对象指向子类  QiChe qiche = new Bus();
	  qiche[5] = new Bus("金杯","京N7777",1500,34);    //父类对象指向子类  QiChe qiche = new Bus();
	  qiche[6] = new Bus("金龙","京N8888",800,16);    //父类对象指向子类  QiChe qiche = new Bus();
	  qiche[7] = new Bus("金龙","京N9999",1500,34);    //父类对象指向子类  QiChe qiche = new Bus();
	}
	//选择想要的车
	public QiChe xuan(String  pinPai,String  cheXing,int cheWei){   // 多态应用   返回汽车类  客户选择车型为  选车类  再选想和型号 或者座位数
			QiChe xuanZe = null;                   //多态应用   返回汽车类   开始声明为空  
			for(QiChe qichee :qiche){             //遍历出所有可以选择的车辆
			if(qichee instanceof Car ){          //如果选择的车辆指向 汽车      ,那么向下转型     
				Car car = (Car)qichee;           //  子类 到父类     强转
		if(car.getPinPai().equals( pinPai) && car.getcheXing().equals( cheXing)){   //选择 品牌 +车型 那就是小车      
			xuanZe = car;                         //选择  就是小车
			break;
		}
		}else{
		        Bus bus = (Bus)qichee;                     //不是 小车就是火车    
		if(bus.getPinPai().equals( pinPai) &&  bus.getCheWei() ==cheWei){   //货车有的属性 座位  
				xuanZe = bus;              //  选择就是货车
				break;
			}
			}
			}
		return xuanZe;
	}
}
